home *** CD-ROM | disk | FTP | other *** search
- @echo off
- echo Running in MS GRAPHICS compatibility mode...
- rem own name is %0
- rem %? is errorlevel
-
- set GRAPHINV=/I
- set GRAPHCMD=NONE
- set GRAPHCGA=
- set GRAPHLH=LH
-
- goto parsestart
-
- :parseloop
-
- shift
-
- :parsestart
-
- if _%1==_ goto parsed
- rem echo Argument: %1
-
- rem /R print black as black and white as white
- if _%1==_/R goto asoncrt
- if _%1==_/r goto asoncrt
-
- rem /I print black as white and white as black (no MS option)
- if _%1==_/I goto parseloop
- if _%1==_/i goto parseloop
-
- rem /LOW do not load high (no MS option)
- if _%1==_/LOW goto loadlow
- if _%1==_/low goto loadlow
-
- rem /B enable processing of CGA background color 0 palette
- if _%1==_/B goto usecga
- if _%1==_/b goto usecga
-
- if _%1==_/LCD goto lcd
- if _%1==_/lcd goto lcd
-
- if _%1==_/PRINTBOX:LCD goto lcd
- if _%1==_/printbox:lcd goto lcd
-
- rem std is the default anyway
- if _%1==_/PRINTBOX:STD goto parseloop
- if _%1==_/printbox:std goto parseloop
-
- rem IBM PC color (ribbon) printer not supported:
- if _%1==_COLOR1 goto unsupp
- if _%1==_color1 goto unsupp
- rem same, RGB
- if _%1==_COLOR4 goto unsupp
- if _%1==_color4 goto unsupp
- rem same, CMYK
- if _%1==_COLOR8 goto unsupp
- if _%1==_color8 goto unsupp
-
- rem IBM graphics printer / proprinter / quietwriter
- if _%1==_GRAPHICS goto unsupp
- if _%1==_graphics goto unsupp
- rem same, but 11 inch wide
- if _%1==_GRAPHICSWIDE goto unsupp
- if _%1==_graphicswide goto unsupp
-
- rem PostScript compatibles (hope this is correct)
- if _%1==_LASERJET goto postscr
- if _%1==_laserjet goto postscr
- if _%1==_LASERJETII goto postscr
- if _%1==_laserjetii goto postscr
-
- rem HP PCL compatibles (hope this is correct)
- if _%1==_HPDEFAULT goto hppcl
- if _%1==_hpdefault goto hppcl
- if _%1==_DESKJET goto hppcl
- if _%1==_deskjet goto hppcl
-
- rem HP RuggedWriter, HP Thinkjet and HP QuietJet are HP PCL
- if _%1==_RUGGEDWRITER goto hppcl
- if _%1==_ruggedwriter goto hppcl
- if _%1==_RUGGEDWRITERWIDE goto hppcl
- if _%1==_ruggedwriterwide goto hppcl
- if _%1==_THINKJET goto hppcl
- if _%1==_thinkjet goto hppcl
- if _%1==_QUIETJET goto hppcl
- if _%1==_quietjet goto hppcl
- if _%1==_QUIETJETPLU goto hppcl
- if _%1==_quietjetplu goto hppcl
-
- rem IBM PC convertible (portable) thermal printer
- if _%1==_THERMAL goto unsupp
- if _%1==_thermal goto unsupp
-
- rem Special printer types for FreeDOS graphics:
-
- rem HP PCL
- if _%1==_HPPCL goto hppcl
- if _%1==_hppcl goto hppcl
- if _%1==_PCL goto hppcl
- if _%1==_pcl goto hppcl
-
- rem PostScript
- if _%1==_POSTSCRIPT goto postscr
- if _%1==_postscript goto postscr
- if _%1==_PS goto postscr
- if _%1==_ps goto postscr
-
- rem ESC/P
- if _%1==_EPSON goto epson
- if _%1==_epson goto epson
- if _%1==_ESC/P goto epson
- if _%1==_esc/p goto epson
- if _%1==_ESC/P2 goto epson
- if _%1==_esc/p2 goto epson
- if _%1==_ESCP goto epson
- if _%1==_escp goto epson
- if _%1==_ESCP2 goto epson
- if _%1==_escp2 goto epson
-
- if _%1==_/? goto help
- if _%1==_/HELP goto help
- if _%1==_/help goto help
-
- echo Unsupported option: %1
- echo Hint: Loading printer definition files is not supported yet.
- goto help
-
- rem END of the main loop
-
- :loadlow
- echo Will not use LH (LOADHIGH).
- set GRAPHLH=
- goto parseloop
-
- :unsupp
- echo Printer type %1 not yet supported by this program.
- echo If you really have such a printer, please mail me (see help text).
- goto help
-
- :help
- echo Usage: GRAPHICS type options
- echo Supported printer types:
- echo HPPCL (PCL), EPSON (ESC/P), POSTSCRIPT (PS)
- echo POSTSCRIPT compatible: LASERJET[II], QUIETJET[PLU]
- echo HP PCL compatible: HPDEFAULT, DESKJET, RUGGEDWRITER[WIDE], THINKJET
- echo EPSON compatible: many impact / ribbon printers work with "EPSON".
- echo Unsupported types: IBM PC color ribbon printer (color1, color4, color8)
- echo IBM convertible thermal printer (thermal)
- echo IBM graphics printer (graphics[wide])
- echo (also for IBM proprinter and IBM quietwriter)
- echo Options:
- echo /B use CGA background color
- echo /R print black as black and white as white
- echo /LCD or /PRINTBOX:LCD and /PRINTBOX:STD are ignored
- echo (try using /LCD to get an explanation displayed).
- echo Mail me if you have any questions or need some new feature or driver:
- echo "eric coli.uni-sb.de" (put an "@" where the " " is).
- goto done
-
- :hppcl
- echo Using HPPCL type for type %1
- echo If you think this is not correct, mail me (see help text).
- set GRAPHCMD=GRAPH-HP
- goto parseloop
-
- :epson
- echo Using ESC/P (Epson) type for type %1
- echo If you think this is not correct, mail me (see help text).
- set GRAPHCMD=GRAPHPIN
- goto parseloop
-
- :postscr
- echo Using PostScript type for type %1
- echo If you think this is not correct, mail me (see help text).
- set GRAPHCMD=GRAPH-PS
- goto parseloop
-
- :lcd
- echo This GRAPHICS always assumes a screen width:height ratio of 4:3.
- echo If your screen really has another size, mail me (see help text).
- goto parseloop
-
- :asoncrt
- echo Printing black as black and white as white, which is the
- echo default for this GRAPHICS (different from MS GRAPHICS!).
- set GRAPHINV=
- goto parseloop
-
- :usecga
- echo Using CGA color 0 palette setting (rather than assuming black).
- set GRAPHCGA=/B
- goto parseloop
-
- :parsed
- if _%GRAPHINV%==_/I echo Printing black as white and white as black
- if _%GRAPHINV%==_/I echo which internally uses /I of this GRPAHICS.
-
- if _%GRAPHCMD%==_NONE echo You have to specify a printer type.
- if _%GRAPHCMD%==_NONE goto help
-
- echo You can use the following command directly instead of
- echo GRAPHICS [your options] in the future:
- echo %GRAPHLH% %GRAPHCMD% %GRAPHINV% %GRAPHCGA%
- echo Note that %GRAPHCMD% allows extra options:
- echo /E economy mode, /1 use LPT1, /2 use LPT2, /3 use LPT3,
-
- if _%GRAPHCMD%==_GRAPH-PS goto nodither
- echo /R for random instead of ordered dither
- :nodither
-
- if _%GRAPHCMD%==_GRAPHPIN echo /C for 8pin mode instead of 24pin mode
- if _%GRAPHCMD%==_GRAPH-PS echo /C for more HP compatibility
- if _%GRAPHCMD%==_GRAPH-HP echo /C for 300dpi instead of 600dpi
-
- %GRAPHLH% %GRAPHCMD% %GRAPHINV% %GRAPHCGA%
-
- :done
- set GRAPHINV=
- set GRAPHCGA=
- set GRAPHCMD=
- set GRAHPLH=
-
-